#include <iostream>
using namespace std;
// 高斯日记
/*? ? 大数学家高斯有个好习惯：无论如何都要记日记。
? ? 他的日记有个与众不同的地方，他从不注明年月日，而是用一个整数代替，比如：4210
? ? 后来人们知道，那个整数就是日期，它表示那一天是高斯出生后的第几天。这或许也是个好习惯，
? ? 它时时刻刻提醒着主人：日子又过去一天，还有多少时光可以用于浪费呢？
? ? 高斯出生于：1777年4月30日。
? ? 在高斯发现的一个重要定理的日记上标注着：5343，因此可算出那天是：1791年12月15日。
? ? 高斯获得博士学位的那天日记上标着：8113 ??
? ? 请你算出高斯获得博士学位的年月日。
提交答案的格式是：yyyy-mm-dd, 例如：1980-03-21    
请严格按照格式，通过浏览器提交答案。
注意：只提交这个日期，不要写其它附加内容，比如：说明性的文字。

1799-7-16
*/ 

bool idLeap(int year){
    if(((year%4==0)&&(year%100!=0))||year%400 == 0){
        return true;
    }else{
        return false;
    }
}

int main(int argc, char const *argv[])
{
    int y = 1777;
    int m = 4;
    int d = 30;
    int days;
    int flag = 1;
    cout << "输入日记的" <<endl;
    cin >> days;
    while(days>flag){
        // 控制循环
        flag++;
        //每天增加
        d++; 
        // cout << flag << "---" << days <<endl;
        if(m == 12 &&d == 32){
            d = 1;
            m = 1;
            y++;
            continue;
        }
        if((m==1 || m==3 || m==5 || m==7 || m==8 || m== 10)&&d == 32){
            m++;
            d = 1;
            continue;
        }
        if((m == 4 || m == 6 || m == 9 || m == 11) && d == 31){
            d = 1;
            m++;
            continue;
        }
        if((m == 2 && idLeap(y)) && d == 30){
            d = 1;
            m++;
            continue;
        }
        if((m == 2 && !idLeap(y)) && d == 29){
            d = 1;
            m++;
            continue;
        }
    }
    cout << y << "-" << m << "-" << d <<endl;
    return 0;
}
